The present invention relates generally to the field of computer software, and more particularly to program compilation.
Generally, a computer program is written in a high level computer language, such as C or FORTRAN. Such computer program is required to be complied into a machine language that can be executed by a computer. Compiling allows a computer to run and understand the program without the need of the programming language used to create it. Program compilation involves many or all of the following operations: lexical analysis, preprocessing, parsing, semantic analysis (syntax-directed translation), code generation, and code optimization.
Among many compilation techniques, profile-directed feedback (PDF) is a compiler optimization technique in computer programming that uses profiling to improve program runtime performance. PDF is a two-stage compilation process that provides a compiler with data characteristic of typical program behavior. An instrumented executable is first run in a number of different scenarios for an arbitrary amount of time, producing a profile data file. A second compilation using the profile data file then produces an optimized executable.